home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / g_man / cat3 / OpenGL-ftn / fglcalllists.z / fglcalllists
Encoding:
Text File  |  2001-04-17  |  11.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss - execute a list of display lists
  10.  
  11.  
  12. FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      SUBROUTINE ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss( INTEGER*4 _n,
  14.                               INTEGER*4 _t_y_p_e,
  15.                               CHARACTER*8 _l_i_s_t_s )
  16.  
  17.  
  18. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  19.      _n      Specifies the number of display lists to be executed.
  20.  
  21.      _t_y_p_e   Specifies the type of values in _l_i_s_t_s.  Symbolic constants
  22.             GGGGLLLL____BBBBYYYYTTTTEEEE, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____IIIINNNNTTTT,
  23.             GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT, GGGGLLLL____FFFFLLLLOOOOAAAATTTT, GGGGLLLL____2222____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____3333____BBBBYYYYTTTTEEEESSSS, and GGGGLLLL____4444____BBBBYYYYTTTTEEEESSSS
  24.             are accepted.
  25.  
  26.      _l_i_s_t_s  Specifies the address of an array of name offsets in the display
  27.             list.  The pointer type is void because the offsets can be bytes,
  28.             shorts, ints, or floats, depending on the value of _t_y_p_e.
  29.  
  30. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  31.      ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss causes each display list in the list of names passed as
  32.      _l_i_s_t_s to be executed.  As a result, the commands saved in each display
  33.      list are executed in order, just as if they were called without using a
  34.      display list.  Names of display lists that have not been defined are
  35.      ignored.
  36.  
  37.      ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss provides an efficient means for executing more than one
  38.      display list.  _t_y_p_e allows lists with various name formats to be
  39.      accepted.  The formats are as follows:
  40.  
  41.      GGGGLLLL____BBBBYYYYTTTTEEEE                  _l_i_s_t_s is treated as an array of signed bytes,
  42.                               each in the range -128 through 127.
  43.  
  44.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE         _l_i_s_t_s is treated as an array of unsigned bytes,
  45.                               each in the range 0 through 255.
  46.  
  47.      GGGGLLLL____SSSSHHHHOOOORRRRTTTT                 _l_i_s_t_s is treated as an array of signed two-byte
  48.                               integers, each in the range -32768 through
  49.                               32767.
  50.  
  51.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT        _l_i_s_t_s is treated as an array of unsigned two-
  52.                               byte integers, each in the range 0 through
  53.                               65535.
  54.  
  55.      GGGGLLLL____IIIINNNNTTTT                   _l_i_s_t_s is treated as an array of signed four-byte
  56.                               integers.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT          _l_i_s_t_s is treated as an array of unsigned four-
  75.                               byte integers.
  76.  
  77.      GGGGLLLL____FFFFLLLLOOOOAAAATTTT                 _l_i_s_t_s is treated as an array of four-byte
  78.                               floating-point values.
  79.  
  80.      GGGGLLLL____2222____BBBBYYYYTTTTEEEESSSS               _l_i_s_t_s is treated as an array of unsigned bytes.
  81.                               Each pair of bytes specifies a single display-
  82.                               list name.  The value of the pair is computed as
  83.                               256 times the unsigned value of the first byte
  84.                               plus the unsigned value of the second byte.
  85.  
  86.      GGGGLLLL____3333____BBBBYYYYTTTTEEEESSSS               _l_i_s_t_s is treated as an array of unsigned bytes.
  87.                               Each triplet of bytes specifies a single
  88.                               display-list name.  The value of the triplet is
  89.                               computed as 65536 times the unsigned value of
  90.                               the first byte, plus 256 times the unsigned
  91.                               value of the second byte, plus the unsigned
  92.                               value of the third byte.
  93.  
  94.      GGGGLLLL____4444____BBBBYYYYTTTTEEEESSSS               _l_i_s_t_s is treated as an array of unsigned bytes.
  95.                               Each quadruplet of bytes specifies a single
  96.                               display-list name.  The value of the quadruplet
  97.                               is computed as 16777216 times the unsigned value
  98.                               of the first byte, plus 65536 times the unsigned
  99.                               value of the second byte, plus 256 times the
  100.                               unsigned value of the third byte, plus the
  101.                               unsigned value of the fourth byte.
  102.  
  103.      The list of display-list names is not null-terminated.  Rather, _n
  104.      specifies how many names are to be taken from _l_i_s_t_s.
  105.  
  106.      An additional level of indirection is made available with the ffffggggllllLLLLiiiissssttttBBBBaaaasssseeee
  107.      command, which specifies an unsigned offset that is added to each
  108.      display-list name specified in _l_i_s_t_s before that display list is
  109.      executed.
  110.  
  111.      ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss can appear inside a display list.  To avoid the possibility
  112.      of infinite recursion resulting from display lists calling one another, a
  113.      limit is placed on the nesting level of display lists during display-list
  114.      execution.  This limit must be at least 64, and it depends on the
  115.      implementation.
  116.  
  117.      GL state is not saved and restored across a call to ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss.  Thus,
  118.      changes made to GL state during the execution of the display lists remain
  119.      after execution is completed.  Use ffffggggllllPPPPuuuusssshhhhAAAAttttttttrrrriiiibbbb, ffffggggllllPPPPooooppppAAAAttttttttrrrriiiibbbb,
  120.      ffffggggllllPPPPuuuusssshhhhMMMMaaaattttrrrriiiixxxx, and ffffggggllllPPPPooooppppMMMMaaaattttrrrriiiixxxx to preserve GL state across ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss
  121.      calls.
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss((((3333GGGG))))               OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee               ffffggggllllCCCCaaaallllllllLLLLiiiissssttttssss((((3333GGGG))))
  137.  
  138.  
  139.  
  140. NOTES
  141.      Display lists can be executed between a call to ffffggggllllBBBBeeeeggggiiiinnnn and the
  142.      corresponding call to ffffggggllllEEEEnnnndddd, as long as the display list includes only
  143.      commands that are allowed in this interval.
  144.  
  145. EEEERRRRRRRROOOORRRRSSSS
  146.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _n is negative.
  147.  
  148.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_y_p_e is not one of GGGGLLLL____BBBBYYYYTTTTEEEE,
  149.      GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE, GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____IIIINNNNTTTT, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT,
  150.      GGGGLLLL____FFFFLLLLOOOOAAAATTTT, GGGGLLLL____2222____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____3333____BBBBYYYYTTTTEEEESSSS, GGGGLLLL____4444____BBBBYYYYTTTTEEEESSSS.
  151.  
  152. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  153.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____LLLLIIIISSSSTTTT____BBBBAAAASSSSEEEE
  154.      ffffggggllllGGGGeeeetttt with argument GGGGLLLL____MMMMAAAAXXXX____LLLLIIIISSSSTTTT____NNNNEEEESSSSTTTTIIIINNNNGGGG
  155.      ffffggggllllIIIIssssLLLLiiiisssstttt
  156.  
  157.  
  158. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  159.      ffffggggllllCCCCaaaallllllllLLLLiiiisssstttt, ffffggggllllDDDDeeeelllleeeetttteeeeLLLLiiiissssttttssss, ffffggggllllGGGGeeeennnnLLLLiiiissssttttssss, ffffggggllllLLLLiiiissssttttBBBBaaaasssseeee, ffffggggllllNNNNeeeewwwwLLLLiiiisssstttt,
  160.      ffffggggllllPPPPuuuusssshhhhAAAAttttttttrrrriiiibbbb, ffffggggllllPPPPuuuusssshhhhMMMMaaaattttrrrriiiixxxx
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.